package com.link.base.base.user.service;

import com.link.base.base.user.model.UserConfig;
import com.link.base.base.user.model.UserTableConfig;

import java.io.File;

/**
 * 用户自定义配置
 *
 * @author 韦胜健
 * @date 2019/2/18 11:55
 */
public interface UserConfigService {

    /**
     * 获取用户配置信息json文件
     *
     * @return json格式的File对象
     */
    public File getUserConfigJsonFile() throws Exception;


    /**
     * 获取用户配置信息json字符串
     *
     * @return
     */
    public String getUserConfigJsonString() throws Exception;

    /**
     * 获取用户配置信息对象
     *
     * @return
     */
    public UserConfig getUserConfig() throws Exception;

    /**
     * 保存用户配置信息
     *
     * @throws Exception
     */
    public void saveUserConfig(UserConfig userConfig) throws Exception;

    /**
     * 删除用户自定义配置信息
     *
     * @throws Exception
     */
    public void deleteUserConfig() throws Exception;

    /**
     * 保存主题色
     *
     * @param color
     * @throws Exception
     */
    public void saveThemeColor(String color) throws Exception;

    /**
     * 保存表格配置信息
     *
     * @throws Exception
     */
    public UserTableConfig saveTableConfig(UserTableConfig userTableConfig) throws Exception;

    /**
     * 删除表格配置信息
     *
     * @author 韦胜健
     * @date 2019/4/18 14:58
     */
    public void deleteTableConfig(UserTableConfig userTableConfig) throws Exception;
}
